package com.fs.sys.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fs.common.base.domain.entity.BaseEntity;
import com.fs.sys.bean.enums.AppUseLimitType;
import lombok.Data;

import java.util.Map;

/**
 * 应用
 *
 * @author  LiuQi 2025/3/18-10:49
 * @version V1.0
 **/
@Data
@TableName(value = "sys_app", autoResultMap = true)
public class AppEntity extends BaseEntity {
    /**
     * 分类id
     */
    private String categoryId;

    /**
     * 应用编码
     */
    private String code;

    /**
     * 应用名称
     */
    private String name;

    /**
     * 应用图标
     */
    private String icon;

    /**
     * 应用支持平台，pc/app/h5/mp寺
     */
    private String platform;

    /**
     * 应用路径或地址
     */
    private String url;

    /**
     * 应用状态，0：下架，1上架
     */
    private Integer status;

    /**
     * 应用打开方式：inner/new/fullscreen
     */
    private String openType;

    /**
     * 应用使用限制类型
     */
    private AppUseLimitType useLimitType;

    /**
     * 排序
     */
    private String sort;

    /**
     * 应用备注
     */
    private String remark;

    /**
     * 应用密钥
     */
    private String secret;

    /**
     * 应用附加信息
     */
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private Map<String, Object> metadata;

    /**
     * 使用次数
     */
    private Integer usedCount;
}
